Bridging Program Comprehension Tools by Design Navigation
نویسندگان
چکیده
Source code investigation is one of the most time consuming activities during software maintenance and evolution, yet currently available tool support suffers from several shortcomings. Browsing is typically limited to low-level elements, investigation is only supported as a one-way activity, and tools provide little help in getting an encompassing picture of the system under examination. In our research, we have developed tool support for design navigation that addresses these shortcomings. A Design Browser allows for flexible browsing of a system’s design level representation and for information exchange with a suite of program comprehension tools. The browser is complemented with a Retriever supporting full-text and structural searching. In this paper, we detail these tools and their integration into a reverse engineering environment, present three case studies, and put them into perspective.
منابع مشابه
Cognitive Design Elements to Support the Construction of a Mental Model during Software Visualization
The scope of software visualization tools which exist for the navigation, analysis and presentation of software information varies widely. One class of tools, which we refer to as software exploration tools, provide graphical representations of software structures linked to textual views of the program source code and documentation. This paper describes a hierarchy of cognitive issues which sho...
متن کاملDynamic Service Analysis
The Software Architecture group, led by Prof. Dr. Robert Hirschfeld, develops new methods, concepts, and tools for improving the comprehension and design of large complex systems. One of the most important aspects in software development is to understand programs, with a special focus on those internal details that constitute system functionality. Current development environments offer a wide r...
متن کاملCognitive design elements to support the construction of a mental model during software exploration
The scope of software visualization tools which exist for the navigation, analysis and presentation of software information varies widely. One class of tools, which we refer to as software exploration tools, provides graphical representations of static software structures linked to textual views of the program source code and documentation. This paper describes a hierarchy of cognitive issues w...
متن کاملProgressive User Interfaces for Regressive Analysis: Making Tracks with Large, Low-Level Systems
Comprehension of low-level issues, such as malware threats, often relies on dated user interfaces that actually inhibit navigation and exploration of large code bases. These user interfaces often fail to exploit visualization techniques that could significantly alleviate cognitive overhead. An initial usability survey reveals that better and easier analysis of control flow is particularly criti...
متن کاملMeasuring Program Comprehension with fMRI
Software development is in essence a human-centered activity, because humans design, implement, and maintain software. Thus, the human factor plays an important role in software engineering. One of the major activities during the entire softwaredevelopment cycle is program comprehension: Developers spend most of their time with comprehending source code [14]. Thus, if we can support developers ...
متن کامل